======================================================================
    Microsoft Product Support Services Application Note (Text File)
             GC0165: RICH-TEXT FORMAT (RTF) SPECIFICATION
======================================================================
                                                   Revision Date: 6/92
                                                      No Disk Included

The following information applies to using RTF version 1.0 with
Microsoft MS-DOS(R), Windows(TM), OS/2(R), and Apple(R) Macintosh(R)
Applications.

 --------------------------------------------------------------------
| INFORMATION PROVIDED IN THIS DOCUMENT AND ANY SOFTWARE THAT MAY    |
| ACCOMPANY THIS DOCUMENT (collectively referred to as an            |
| Application Note) IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY      |
| KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO    |
| THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A     |
| PARTICULAR PURPOSE. The user assumes the entire risk as to the     |
| accuracy and the use of this Application Note. This Application    |
| Note may be copied and distributed subject to the following        |
| conditions: 1) All text must be copied without modification and    |
| all pages must be included; 2) If software is included, all files  |
| on the disk(s) must be copied without modification [the MS-DOS(R)  |
| utility DISKCOPY is appropriate for this purpose]; 3) All          |
| components of this Application Note must be distributed together;  |
| and 4) This Application Note may not be distributed for profit.    |
|                                                                    |
| Copyright (c) 1989-1992 Microsoft Corporation. All Rights Reserved.|
| Microsoft and MS-DOS are registered trademarks and Windows is a    |
| trademark of Microsoft Corporation. OS/2 is a registered trademark |
| licensed to Microsoft Corporation. Apple, Macintosh, and TrueType  |
| are registered trademarks and QuickDraw is a trademark of Apple    |
| Computer, Inc. IBM and Personal System/2 are registered trademarks |
| of International Business Machines Corporation. PostScript is a    |
| registered trademark of Adobe Systems, Inc. Times Roman, Palatino, |
| and Helvetica are registered trademarks of Linotype AG and/or its  |
| subsidiaries. Swiss is a trademark of Bitstream, Inc. ITC Zapf     |
| Chancery is a registered trademark of the International Typeface   |
| Corporation. MathType is a trademark of Design Science, Inc. This  |
| document was created using Microsoft Word for Windows.             |
 --------------------------------------------------------------------

                                   
                                   
                               OVERVIEW
                               ========
                                   
The rich-text format (RTF) standard is a method of encoding formatted
text and graphics for easy transfer between MS-DOS, Windows, OS/2, and
Apple Macintosh applications.

The RTF standard provides a format for text and graphics interchange
that can be used with different output devices, operating
environments, and operating systems. RTF uses the ANSI, PC-8,
Macintosh, or IBM PC character set to control the representation and
formatting of a document, both on the screen and in print. With the
RTF standard, you can transfer documents created under different
operating systems and with different software applications among those
operating systems and applications.

Software that takes a formatted file and turns it into an RTF file is
called a "writer." An RTF writer separates the applicationÆs control
information from the actual text and writes a new file containing the
text and the RTF groups associated with that text. Software that
translates an RTF file into a formatted file is called a "reader."
                                   
                                   
                              RTF SYNTAX
                              ==========
                                   
An RTF file consists of unformatted text, control words, control
symbols, and groups. For ease of transport, a standard RTF file can
consist of only 7-bit ASCII characters. However, Word for Windows uses
8-bit characters in the RTF stream given to converter DLLs.

A "control word" is a specially formatted command that RTF uses to
mark printer control codes and information that applications use to
manage documents. A control word takes the following form:

  \<LetterSequence>[<NumericParameter>]<delimiter>

For example:

   A   B   C
   |   |   |
   | ----- |
   \ r t f 1

   A  A backslash begins each control word
   B  Letter sequence
   C  Numeric parameter

The "Letter Sequence" is made up of uppercase or lowercase alphabetic
characters between A and Z inclusive.

The "Numeric Parameter" begins with a digit or a minus sign (-). The
range of the values for the numeric parameter is -32,767 through
32,767. However, Microsoft Word for Windows, Word for OS/2, and Word
for the Macintosh restrict the range to -31,680 through 31,680. If a
numeric parameter immediately follows the control word, this parameter
becomes part of the control word and the delimiter follows the
parameter.

The "delimiter" marks the end of an RTF control word or symbol. A
delimiter can be one of the following:

 - A space. If a space delimits a control word, the space does not
   appear in the document. Any characters following the delimiter,
   including spaces, do appear in the document. For this reason, you
   should use spaces only where necessary; do not use spaces merely to
   break up RTF code.

 - A backslash (\), opening brace ({), or closing brace (}). These
   characters are used to mark the beginning of a new control word or
   symbol, the beginning of a group, and end of a group, respectively.
   More information about control symbols and groups is provided later
   in this document.

 - Any character other than a letter or a digit. In this case, the
   character terminates the control word but is not actually part of
   the control word. The character is considered part of the document
   text.

Some control words govern properties that have only two states (for
example, bold, which is either turned on or turned off). When such a
control word has no parameter or has a nonzero parameter, it is
assumed that the control word turns on the property. When such a
control word has a parameter of 0 (zero), it is assumed that the
control word turns off the property. For example, \b turns on bold,
whereas \b0 turns off bold.

A "control symbol" consists of a backslash followed by a single,
nonalphabetic character. For example, \~ represents a nonbreaking
space. Control symbols take no delimiters.

A "group" consists of text and control words or control symbols
enclosed in braces ({ }). The opening brace indicates the start of the
group and the closing brace indicates the end of the group. Each group
specifies the text affected by the group and the different attributes
of that text. The RTF file can also include groups for fonts, styles,
screen color, pictures, footnotes, annotations, headers and footers,
summary information, fields, and bookmarks, as well as document-,
section-, paragraph-, and character-formatting properties. If the
font, style, screen color, and summary information groups and document
formatting properties are included, they must precede the first plain-
text character in the document. These groups form the RTF file header.
If the group for fonts is included, it should precede the group for
styles. If any group is not used, it can be omitted. The groups are
discussed in the following sections.

Certain groups, referred to as "destinations," mark the beginning of a
collection of related text that could appear at another position, or
destination, within the document. Destinations can also be text that
is used but should not appear within the document at all. Destinations
are sometimes distinguished from other groups by a \* control symbol
immediately following the opening brace of the group. The \* is
followed by a control word that defines the type of the destination.
This control symbol identifies destinations whose related text should
be ignored if the RTF reader does not recognize the destination. (RTF
writers should follow the convention of using this control symbol when
adding new control words.) Destinations whose related text should be
inserted into the document even if the RTF reader does not recognize
the destination should not use \*. An example of a destination is the
\footnote group, where the footnote text follows the control word.

Formatting specified within a group affects only the text within that
group. Generally, text within a group inherits the formatting of the
text in the preceding group. However, Microsoft implementations of RTF
assume that the footnote, header and footer, and annotation groups
(described later in this document) do not inherit the formatting of
the preceding text. Therefore, to ensure that these groups are always
formatted correctly, you should set the formatting within these groups
to the default with the \sectd, \pard, and \plain control words, and
then add any desired formatting.

The control words, control symbols, and braces constitute control
information. All other characters in the file are plain text. The
following is an example of plain text that does not exist within a
group:

   ...
   \linex0endnhere \pard\plain \fs20 This is plain text.
   ...

The phrase, "This is plain text" is not part of a group and is treated
as document text.

As previously mentioned, the backslash (\) and braces ({ }) have
special meaning in RTF. To use these characters as text, precede them
with a backslash, as follows:

  \\
  \{
  \}
                                   
                                   
                     CONVENTIONS OF AN RTF READER
                     ============================
                                   
The reader of an RTF stream is concerned with the following:

 - Separating control information from plain text
 - Acting on control information
 - Collecting and properly inserting text into the document, as
   directed by the state of the current group

The process of acting on control information is designed to be
relatively simple. Some control information only contributes special
characters to the plain text stream. Other information changes the
"program state," which includes properties of the document as a whole,
or changes a collection of "group states," which applies to parts of
the document.

As previously mentioned, a group state can specify the following:
  
 - The "destination," or part of the document that the plain text is
   constructing
 - Character formatting properties, such as bold or italic
 - Paragraph formatting properties, such as justified or centered
 - Section formatting properties, such as the number of columns
 - Table formatting properties, which define the number of cells and
   dimensions of a table row

An RTF reader performs the following procedure:

   1. The reader reads the next character.

   2. If the next character is:
   
       - An opening brace, the reader stores the current state of the
         document on the stack.
      
       - A closing brace, the reader retrieves the current state of
         the document from the stack.
      
       - A backslash, the reader marks the beginning of an RTF
         control. The reader collects the control word or control
         symbol and its parameter, if any, and carries out the action
         prescribed for that control. The meaning of each of the
         controls is discussed in the section "Contents of an RTF
         File" in this document. The read pointer is left on the next
         nonspace delimiter following the control.
      
       - Anything other than an opening brace, closing brace, or
         backslash, the reader assumes that the character is plain
         text and writes the character to the current destination
         using the current formatting properties.
      
   3. The reader then reads the next character.

If the RTF reader does not recognize a particular control word or
control symbol, the reader ignores it. When the reader encounters a
control word or control symbol preceded by an opening brace, the
reader recognizes the control as part of a group. The reader saves the
current state on the stack but does not change the state. When the
reader encounters a closing brace, the reader retrieves the current
state from the stack, thereby resetting the current state. If the \*
control symbol precedes the unknown control word, \* defines a
destination group and is preceded by an opening brace. The RTF reader
will discard all text and subgroups up to and including the brace that
closes this group.

For control words or control symbols recognized by the RTF reader, the
possible actions are as follows:

  Action           Description
  ------           -----------

  Change           The RTF reader changes the destination to
  destination      the destination described in the table
                   entry. Destination changes are legal only
                   immediately after an opening brace. (Other
                   restrictions may also apply; for example,
                   footnotes cannot be nested.) Many
                   destination changes imply that the current
                   property settings will be reset to their
                   default settings. Examples of control
                   words that change the destination are
                   \footnote, \header, \footer, \pict, \info,
                   \fonttbl, \stylesheet, and \colortbl.

  Change           The RTF reader changes the property as
  formatting       described in the table entry. The entry
  property         specifies whether a parameter is required.

  Insert special   The reader inserts into the document the
  character        character code or codes described in the
                   table entry.

  Insert special   The reader inserts into the document the
  character and    character code or codes described in the
  perform action   table entry and performs whatever other
                   action the entry specifies. For example,
                   when Microsoft Word interprets \par, Word
                   inserts a paragraph mark in the document,
                   along with the paragraph properties
                   belonging to that paragraph mark.
                                   
                                   
                        CONTENTS OF AN RTF FILE
                        =======================
                                   
An RTF file can contain combinations of the following elements:


THE RTF VERSION
===============

An entire RTF file is considered a group and must be enclosed in
braces. The control word \rtf<N> must follow the opening brace. The
numeric parameter <N> identifies the version of the RTF standard used.
The RTF standard described in this document is version 1.0.


THE CHARACTER SET
=================

After specifying the RTF version, you must declare the character set.
The control word for the character set must precede any plain text or
any table control words. The RTF specification currently supports the
following character sets:

    Control Word   Character Set
    ------------   -------------
                   
    \ansi          ANSI (the default)

    \mac           Apple Macintosh

    \pc            IBM(R) PC Code Page 437

    \pca           IBM PC Code Page 850, used by IBM Personal
                   System/2(R) (not implemented in version 1.0 of
                   Microsoft Word for OS/2)

The Font Table
--------------

This group begins with the control word \fonttbl and contains
descriptions of fonts. All fonts available to the RTF writer can be
included in the font table, even if the document doesnÆt use all the
fonts.

A font is defined by a font number, a font family, and a font name as
shown in the following example:

       A     B     C      D
       |     |     |      |
    -------- | ------- ---------
   {\fonttbl\f0\froman Tms Rmn;}...

   A  Control word
   B  Font number
   C  Font family
   D  Font name

Semicolons separate one font from the next. The font numbers represent
the full font definitions in the group and vary with each document.
The font families are listed below:

    Control Word   Font Family
    ------------   -----------
                   
    \fnil          Unknown or default fonts (the default)

    \fRoman        Roman, proportionally spaced serif fonts (for
                   example, Times Roman(R) and Palatino(R))

    \fswiss        Swiss(TM), proportionally spaced sans serif fonts
                   (for example, Swiss Helvetica(R))

    \fmodern       Fixed-pitch serif and sans serif fonts (for
                   example, Courier and Pica)

    \fscript       Script fonts (for example, Cursive)

    \fdecor        Decorative fonts (for example, Old English and
                   ITC Zapf Chancery(R))

    \ftech         Technical, symbol, and mathematical fonts (for
                   example, Symbol)

If an RTF file uses a default font, the default font number is
specified with the \deff<N> control word, which must precede the font-
table group. The RTF writer supplies the default font number used in
the creation of the document as the numeric argument <N>. The RTF
reader then translates this number through the font table into the
most similar font available on the readerÆs system.


THE STYLE SHEET
===============

The style sheet group begins with the control word \stylesheet. This
group contains definitions and descriptions of the various styles used
in the document. The style sheet is declared only once, before any
document text. All styles in the documentÆs style sheet can be
included, even if not all the styles are used.

    Control Word   Meaning
    ------------   -------
                   
    \sbasedon<N>   Defines the number of the style on which the
                   current style is based. Word for Windows defaults
                   to the Normal style--style number 222--if
                   \sbasedon is omitted.

    \snext<N>      For paragraph styles, \snext defines the style
                   automatically assigned to a paragraph created
                   following the paragraph with the current style.
                   If \snext omitted, the next paragraph is given
                   the same style as the current paragraph.

    \keycode       Specified within the description of a style in
                   the style sheet in the RTF header. The syntax for
                   this group is {\*\keycode <Keys>} where <Keys>
                   are the characters used in the key code. For
                   example, a Normal style may be defined {\s0
                   {\*\keycode \shift\ctrl n}Normal;} within the RTF
                   style sheet. See the "Special Characters" control
                   words for the characters outside of the
                   alphanumeric range that can be used.

An example of an RTF style sheet and styles follows:
  
          ...
       --
      |   {\stylesheet{\fs20 \sbasedon222\snext10{keycode \shift...}
  A---|   {\s1 \ar \fs20 \sbasedon0\snext1 FLUSHRIGHT}{\s2\fi...}
      |   \sbasedon0snext2 IND:}}
       --
          ...
       --
      |  \widowctrl\ftnbj\ftnrestart \sectd \linex0\endnhere
      |  \pard\plain \fs20 This is Normal style.
  B---|  \par \pard\plain \s1
      |  This is right justified. I call this style FLUSHRIGHT.
      |  \par \pard\plain \s2
      |  This is an indented paragraph. I call this style IND...
       --
         \par}
         ...
  
  A  Style sheet
  B  Styles applied to text
  
  This is Normal Style.
                This is right justified. I call this style FLUSHRIGHT.
  This is an indented paragraph. I call this style IND. It produces
        a hanging indent.
  
  
In this example, PostScript(R) is declared but not used. Some of the
control words in this example are discussed in the following sections.


THE COLOR TABLE
===============

Screen colors, character colors, and other color information are
contained in the color table group. The control word \colortbl begins
this group. Additional control words for red, green, and blue and the
foreground and background colors then use parameter values (0-255)
corresponding to the color indexes used by Microsoft Windows to define
the amount of red, green, and blue that makes up a color. For more
information on color setup, see your Windows documentation.

The following are valid control words for this group:

   Control Word   Meaning
   ------------   -------
                  
   \red<N>        Red index
   \green<N>      Green index
   \blue<N>       Blue index
   \cf<N>         Foreground color (the default is 0)
   \cb<N>         Background color (the default is 0)

Each definition must be delimited by a semicolon, even if the
definition is omitted. If a color definition is omitted, the RTF
reader uses its default color. In the example that follows, three
colors are defined. The first color is omitted, as shown by the
semicolon following the \colortbl control word.

  ...
  {\colortbl;\red0\green0\blue0;\red0\green0\blue255;}
  ...

The following example defines a block of text in color (where
supported). Note that the cf/cb index is the index of an entry in the
color table, which represents a red/green/blue color combination.

  ...
  {\f1\cb1\cf2 This is colored text. The background is color
  1 and the foreground is color 2.
  ...
  
If the file is translated for software that does not display color,
the reader ignores the color table group.


PICTURES
========

An RTF file can include picture files created with other applications.
These files are in hexadecimal (the default) or binary format. The
control word \pict begins this group. Control words that define and
describe the picture parameters follow the \pict control word. These
control words are listed in the following table (some measurements in
this table are in twips; a twip is one-twentieth of a point):

  General
  --------------------------------------------------------------------

   Control Word    Meaning
   ------------    -------
                   
   \macpict        The source file of the picture is QuickDraw(TM).

   \pmmetafile<N>  The source file of the picture is an OS/2
                   metafile; the <N> argument identifies the
                   metafile type.

   \wmetafile<N>   The source file of the picture is a Windows
                   metafile; the <N> argument identifies the
                   metafile type (the default is 1, meaning the
                   metafile type is MM_TEXT).

   \dibitmap<N>    The source file of the picture is a device
                   independent bitmap; the <N> argument identifies
                   the bitmap type (the default is 0).

   \wbitmap<N>     The source file of the picture is a bitmap; the
                   <N> argument identifies the bitmap type (the
                   default is 0, meaning that the bitmap is a
                   logical bitmap).

  Bitmap Information
  --------------------------------------------------------------------

   Control Word           Meaning
   ------------           -------
                          
   \wbmbitspixel<N>       The number of bitmap bits per pixel (the default
                          is 1).
   \wbmplanes<N>          The number of bitmap planes (the default is 1).
   \wbmwidthbytes<N>      The bitmap width in bytes.
  
  Picture Size, Scaling, and Cropping
  --------------------------------------------------------------------
  
   Control Word    Meaning
   ------------    -------
                   
   \picw<N>        The <xExt> field if the picture is a metafile;
                   the picture width in pixels if the picture is a
                   bitmap or is from QuickDraw.

   \pich<N>        The <yExt> field if the picture is a metafile;
                   the picture height in pixels if the picture is a
                   bitmap or from QuickDraw.

   \picwgoal<N>    The desired width of the picture in twips.

   \pichgoal<N>    The desired height of the picture in twips.

   \picscalex<N>   The horizontal scaling value; the <N> argument is
                   a value representing a percentage (the default is
                   100).

   \picscaley<N>   The vertical scaling value; the <N> argument is a
                   value representing a percentage (the default is
                   100).

   \picscaled      Scales the picture to fit within the specified
                   frame; used only with \macpict pictures.

   \piccropt<N>    The top cropping value in twips; a positive value
                   crops toward the center of the picture; a
                   negative value crops away from the center, adding
                   a space border around the picture (the default is
                   0).

   \piccropb<N>    The bottom cropping value in twips; a positive
                   value crops toward the center of the picture; a
                   negative value crops away from the center, adding
                   a space border around the picture (the default is
                   0).

   \piccropl<N>    The left cropping value in twips; a positive
                   value crops toward the center of the picture; a
                   negative value crops away from the center, adding
                   a space border around the picture (the default is
                   0).

   \piccropr<N>    The right cropping value in twips; a positive
                   value crops toward the center of the picture; a
                   negative value crops away from the center, adding
                   a space border around the picture (the default is
                   0).
  
  Picture Border
  --------------------------------------------------------------------
  
   Control Word    Meaning
   ------------    --------
                   
   \brdrs          A single picture border.
   \brdrdb         A double picture border.
   \brdrth         A thick picture border.
   \brdrsh         A shadow picture border.
   \brdrdot        A dotted picture border.
   \brdrhair       A hairline picture border.

   \brdrw<N>       <N> is the width in twips of the picture border
                   line. This control should follow the picture
                   border controls \brdrt, \brdrr, \brdrb, and
                   \brdrl.

   \brdrcf<N>      <N> is the color of the picture border from the
                   color table in the RTF header. This control
                   should follow the picture border controls \brdrt,
                   \brdrr, \brdrb, and \brdrl.
  
  Picture Background Shading
  --------------------------------------------------------------------
  
   Control Word    Meaning
   ------------    -------
                   
   \shading<N>     <N> is the shading of the picture in hundredths
                   of a percent.

   \bghoriz        Specifies a horizontal background pattern for the
                   picture.

   \bgvert         Specifies a vertical background pattern for the
                   picture.

   \bgfdiag        Specifies a forward diagonal background pattern
                   for the picture (\\\\).

   \bgbdiag        Specifies a backward diagonal background pattern
                   for the picture (////).

   \bgcross        Specifies a cross-hatched background pattern for
                   the picture.

   \bgdcross       Specifies a diagonal cross-hatched background
                   pattern for the picture.

   \bgdkhoriz      Specifies a dark horizontal background pattern
                   for the picture.

   \bgdkvert       Specifies a dark vertical background pattern for
                   the picture.

   \bgdkfdiag      Specifies a dark forward diagonal background
                   pattern for the picture (\\\\).

   \bgdkbdiag      Specifies a dark backward diagonal background
                   pattern for the picture (////).

   \bgdkcross      Specifies a dark cross-hatched background pattern
                   for the picture.

   \bgdkdcross     Specifies a dark diagonal cross-hatched
                   background pattern for the picture.

   \cfpat<N>       <N> is the line color of the background pattern.

   \cbpat<N>       <N> is the background color of the background
                   pattern.
  
  Picture Data
  --------------------------------------------------------------------
  
   Control Word    Meaning
   ------------    -------
                   
   \bin<N>         The picture is in binary format; the numeric
                   parameter <N> is the number of bytes that follow.

The \wbitmap control word is optional; if neither \wmetafile nor
\macpict is specified, the picture is assumed to be a Windows bitmap.
If \wmetafile is specified, the <N> argument can be one of the
following types:

   Type            <N> Argument
   ----            -------------
                   
   MM_TEXT         1
   MM_LOMETRIC     2
   MM_HIMETRIC     3
   MM_LOENGLISH    4
   MM_HIENGLISH    5
   MM_TWIPS        6
   MM_ISOTROPIC    7
   MM_ANISOTROPIC  8

If \pmmetafile is specified, the <N> argument can be one of the
following types:

  Type             <N> Argument
  ----             -------------
                   
  PU_ARBITRARY     4
  PU_PELS          8
  PU_LOMETRIC      12
  PU_HIMETRIC      16
  PU_LOENGLISH     20
  PU_HIENGLISH     24
  PU_TWIPS         28

Be careful with spaces following control words when dealing with
pictures in binary format. When reading files, RTF considers the first
space after a control word the delimiter and subsequent spaces part of
the document text. Therefore, any extra spaces are attached to the
picture, with unpredictable results.

RTF writers should not use the carriage-return/linefeed (CRLF)
combination to break up pictures in binary format. If they do, the
CRLF is treated as literal text and considered part of the picture
data.

The picture in hexadecimal or binary format follows the picture-group
control words. The following example illustrates the group format:

                  A       B      C           D          E
                  |       |      |           |          |
              -------- ------- ------ ------------- ----------
       {\pict\wbitmap0\picw170\pich77\wbmbitspixel1\wbmplanes1
  
               F             G
               |             |
        --------------- -----------
       \wmbwidthbytes22\picwgoal505
  
  H--- \pichgoal221
  I--- \picscalex172
  J--- \picscaley172
     - 49f2000000000273023d1101a030
     | 3901000a000000000273023d98
     | 0048000200000275
     | 02040000200010275023e000000000
  K--| 273023d000002b90002b90002
     | b90002b90002b9
     | 0002b90002b90002b90002b90002b90002
     | b92222b90002b90002b90
     | 002b90002b9
     - 0002b90002b90002b90002b9000
       ...
  A  Source
  B  Width
  C  Height
  D  Bits per pixel
  E  Bitmap planes
  F  Width of picture in bytes
  G  Desired picture width
  H  Desired picture height
  I  Horizontal scaling value
  J  Vertical scaling value
  K  Hexadecimal data
  
       NOTE: The controls \pichgoal, \picscalex, and \picscaley in
       this example are on separate lines for the purpose of
       illustration only. In actual RTF code, they can be included on
       the same line.


FOOTNOTES
=========

The group containing footnote text begins with the control word
\*\footnote. Footnotes are anchored to the character that immediately
precedes the footnote group. If automatic footnoting is defined, the
group can be preceded by a footnote reference character, identified by
the control word \chftn.

The following is an example of a group containing footnotes:

        ...
        \ftnbj\ftnrestart \sectd \\linemod0\linex0\endnhere
        \pard\plain \ri1170 \fs20 {pu6 Mead's landmark study has been
        amply annotated.\chftn
  A--| {\*\footnote \pard\plain \s246 \fs20 {\up6\chftn }See Sahlins,
     | Bateson, and Geertz for a complete bibliography.}
        It was her work in America during the Second World War,
        however, that forms the basis for the paper. As others have
        noted, \chftn
  A--| {\*\footnote \pard\plain \s246 \fs20 {\up6\chftn}
     | A complete bibliography will be found at the end of the
     | chapter.}
        this period was a turning point for Margaret Mead.}
        \par
        ...

          Mead's landmark study has been amply annotated.1 It was her
          work in America during the Second World War, however, that
          forms the basis for this paper. As others have noted,2 this
          period was a turning point for Margaret Mead.
          
          1 See Sahlins, Bateson, and Geertz for a complete
          bibliography.
          
          2 A complete bibliography will be found at the end of the
          chapter.

   A: Footnotes
   

For other control words relating to footnotes, see the sections titled
"Document Formatting Properties," "Section Formatting Properties," and
"Special Characters" later in this document.


ANNOTATIONS

===========

The group containing annotation text begins with the control word
\*\annotation. Annotations are anchored to the character that
immediately precedes the annotation group. The group must be preceded
by an annotation reference character identified by the control word
\chatn. The annotation reference character must in turn be preceded by
a group that begins with the control word \*\atnid and that contains
the identification text for the author of the annotation. An example
of annotation text follows:

  ...
  An example of a paradigm might be Newtonian physics or
  Darwinian biology.{\v\fs16 {\atnid bz}\chatn{\*\annotation
  \pard\plain \s224 \fs20 {field{fldinst page \\*"'Page:
  '#\line'"}{\fldrslt}}{\fs 16 \chatn }
  How about some examples that deal with social science?
  That's what this paper is about.}}
  ...


HEADERS AND FOOTERS
===================

Headers and footers are treated as separate groups in RTF. Different
headers and footers can be defined for different sections in the
document. If none is defined for a given section, the headers and
footers from the previous section (if any) are used. These groups must
precede the first plain-text character in the document section to
which they apply.

The control words \header and \footer begin these groups. These
control words can be replaced by the following control words, as
appropriate:

  Control Word    Meaning
  ------------    -------
                  
  \headerl        The header is on left pages only.
  \headerr        The header is on right pages only.
  \headerf        The header is on the first page only.
  \footerl        The footer is on left pages only.
  \footerr        The footer is on right pages only.
  \footerf        The footer is on the first page only.

The \headerl and \headerr and \footerl and \footerr control words are
used in conjunction with the \facingp control word, and the \headerf
and \footerf control words are used in conjunction with the \titlepg
control word. For more information, see "Document Formatting
Properties" and "Section-Formatting Properties" in this document.


SUMMARY INFORMATION
===================

The RTF file can also contain a summary information group, which is
translated but not displayed with the text. This information can
include the title, author, keywords, comments, and other information
specific to the file. This information is for use by a document-
management utility, if available.

This group begins with the control word \info. Some applications, such
as Word, ask the user to type this information when saving the
document in its native format. If the document is then saved as an RTF
file or translated into RTF, the RTF writer specifies this information
using the following control words. These control words are
destinations, and both the control words and the text should be
enclosed within braces ({ }).

  Control Word    Meaning
  ------------    -------
                  
                  
  \title          The title of the document
  \subject        The subject of the document
  \author         The author of the document
  \operator       The person who last made changes to the document
  \keywords       Selected keywords for the document
  \comment        Comments; text is ignored
  \version<N>     The version number of the document
  \doccomm        Comments displayed in WordÆs Summary Info dialog
                  box

The RTF writer can automatically enter other control words, including
the following:

  Control Word    Meaning
  ------------    -------
                  
  \vern<N>        The internal version number
  \creatim        The creation time
  \revtim         The revision time
  \printim        The last print time
  \buptim         The backup time
  \edmins<N>      The total editing time (in minutes)
  \yr<N>          The year
  \mo<N>          The month
  \dy<N>          The day
  \hr<N>          The hour
  \min<N>         The minute
  \nofpages<N>    The number of pages
  \nofwords<N>    The number of words
  \nofchars<N>    The number of characters
  \id<N>          The internal ID number

Entries without the <N> parameter have the \yr \mo \dy \hr \min
format. An example of a summary information group follows:

   ...
   {\info{\title The Panda's Thumb}{\author Stephen J.
   Gould}{\keywords science natural history }}
   

FIELDS
======

The field group contains the text of Word fields. For more detailed
information on fields, choose Help in Microsoft Word for Windows.

The field group begins with the control word \field. The following
control words can follow the \field control word:

  Control Word    Meaning
  ------------    -------
                  
  \flddirty       A formatting change has been made to the field
                  result since the field was last updated.

  \fldedit        The text has been added to, or removed from, the
                  field result since the field was last updated.

  \fldlock        A field is locked and cannot be updated.

  \fldpriv        A result is not in a form suitable for display
                  (for example, binary data used by fields whose
                  result is a picture).

Two subgroups are available within the \field group. They must be
enclosed within braces ({ }) and begin with the following control
words:

  Control Word    Meaning
  ------------    -------
                  
  \*\fldinst      Field instructions
  \fldrslt        The most recently calculated result of the field

The \fldrslt control word should be included even if no result has
been calculated because even readers that do not recognize fields can
generally include the value of the \fldrslt group in the document.

An example of field text follows:
  
      A                  B                  C
      |                  |                  |
    -----          --------------   -----------------
  {\field\fldedit{\fldinst author}{\fldrslt Joe Smith}}\par\pard
  {\field{\fldinst time \\@ "h:mm AM/PM"}{\fldrslt 8:12 AM}}
    -----  -----------------------------  -----------------
      |                 |                          |
      A                 B                          C
  
  A  Begins field group
  B  Field instructions
  C  Field result


INDEX ENTRIES
=============

The index entry group begins with the control word \xe. Following this
control word is the text of the index entry and other optional control
words that further define the index entry.

If the text of the index entry is not formatted as hidden text with
the \v control word, the text is put into the document as well as into
the index. For more information on the \v control word, see "Character
Formatting Properties" in this document. Similarly, the text of the
\txe subgroup, described later in this section, becomes part of the
document if it is not formatted as hidden text.

The following control words can also be used:

  Control Word    Meaning
  ------------    -------
                  
  \bxe            Formats the page number or cross-reference in bold
  \ixe            Formats the page number or cross-reference in
                  italic

The following control words are destinations within the \xe group and
are followed by text arguments. These control words and their
arguments must be enclosed within braces ({ })

  Control Word           Meaning
  ------------           -------
                         
  \txe <Text>            The text argument is to be used instead of
                         a page number.

  \rxe <BookmarkName>    The text argument is a bookmark for the
                         range of page numbers.

An example of an index entry follows:

    A         B               C                 D         E    F
    |         |               |                 |         |    |
    --  -------------   ---------------   -------------  ---  ---
  {\xe{\v Index Entry}{\rxe Index Range}{\txe See Index}\bxe \ixe }
  
  A  Begins index-entry group
  B  Entry text
  C  Bookmark defining range of pages
  D  Replacement for page number
  E  Bold entry in index table
  F  Italic entry in index table


TABLE OF CONTENTS ENTRIES
=========================

The table of contents entry group begins with the control word \tc. It
is followed by the text of the table of contents entry and other
optional control words that further define the group.

As with index entries, text that is not formatted as hidden with the
\v character-formatting control word is put into the document. The
following control words can also be used in this group:

  Control Word    Meaning
  ------------    -------
                  
  \tcf<N>         The type of table being compiled; <N> is mapped
                  by existing Microsoft software to a letter
                  between A and Z (the default is 67, which maps to
                  C and is used for tables of contents).

  \tcl<N>         The level number (the default is 1).

OBJECTS
=======

Objects are structures in a document that contain a data portion and a
result portion. The data portion generally appears hidden to the
application that produced the document. A separate application uses
the data and supplies the result or appearance of the data. This
appearance is the result portion of the object. Some examples of
objects include object linking and embedding (OLE) objects and Edition
Manager Subscriber objects on the Macintosh platform.

In RTF, the results of objects are represented so that RTF readers
that donÆt understand objects or donÆt use a particular type of object
are able to use the current result in place of the object. This allows
the appearance of the object to be maintained through the conversion
even though the object functionality is lost. For this reason, it is
important for RTF writers to supply the object result. The format of
the result should be standard RTF.

The data portion of an OLE object is the structure produced from the
OLE SaveToStream function. Some OLE clients rely on the OLE system to
render the object, and a copy of the result is not available to the
RTF writer for that application. For these cases, the object result
can be obtained from the structure produced from the OLE SaveToStream
function.

An object group is defined by the control word \object. These objects
can be either embedded objects, OLE links, or subscriber objects on
the Macintosh platform. If the RTF readerÆs application does not use
the type of object represented, then all the object information and
data should be ignored and the object result should be inserted into
the document in place of the object.

Each object comes with optional information about the object, a
required data group that contains the object data, and an optional
result that contains the last display of the object. This result
contains standard RTF. It is the responsibility of the RTF writer to
provide the result so that existing RTF readers will be able to
display the object without having full object support.

The syntax for this group is as follows:

{\object [\objemb|\objlink|\objautlink|\objsub|\objpub|\objicemb]
[\linkself] [\objlock] [{\*\objclass <Name>}] [{\*\objname <Name>}]
[\rsltmerge] [\rsltrtf|\rslttxt|\rsltpict|\rsltbmp] [\objsetsize]
[\objalign<N>] [\objtransy<N>] [\objh<N> \objw<N>]
[\objcropt<N>][\objcropb<N>][\objcropl<N>][\objcropr<N>]
[\objscalex<N>][\objscaley<N>] {\*\objdata[{\*\objalias[\bin<N>]
<Data>} {\*\objsect[\bin<N>] <Data>}] [\bin<N>] <Data>}<Result>}

See the \result control word in the following table for a description
of <Result>:

  Object Type
  --------------------------------------------------------------------

  Control Word    Meaning
  ------------    -------
                 
  \objemb         An object type of OLE embedded object. If no type
                  is given for the object, the object is assumed to
                  be of type \objemb.

  \objlink        An object type of OLE link.

  \objautlink     An object type of OLE autolink.

  \objsub         An object type of Macintosh Edition Manager
                  subscriber.

  \objicemb       An object type of MS Word for Macintosh Installable
                  Command (IC) Embedder.
  
  Object Information
  --------------------------------------------------------------------
  
  Control Word    Meaning
  ------------    -------
                 
  \linkself       The object is a link to another part of the same
                  document.

  \objlock        Locks the object from any updates.

  \objclass       The syntax for the group is {\*\objclass <Name>}
                  where <Name> is the name of the object class. This
                  is optional in the \object group.

  \objname        The syntax for group is {\*\objname <Name>} where
                  <Name> is the name of the specific object instance.
                  This is optional in the \object group.
  
  Object Size, Position, Cropping, and Scaling
  --------------------------------------------------------------------
  
  Control Word    Meaning
  ------------    -------
                 
  \objh<N>        <N> is the original object height in twips.

  \objw<N>        <N> is the original object width in twips.

  \objsetsize     Forces the object server to set the objectÆs
                  dimensions to those specified by the client.

  \objtransy<N>   <N> is the distance in twips an object should be
                  moved vertically with respect to the baseline. This
                  control word is needed to place MathType(TM)
                  equation objects correctly in line. This is an
                  optional control of the \object group.

  \objcropt<N>    <N> is the top cropping distance in twips.

  \objcropb<N>    <N> is the bottom cropping distance in twips.

  \objcropl<N>    <N> is the left cropping distance in twips.

  \objcropr<N>    <N> is the right cropping distance in twips.

  \objscalex<N>   <N> is the horizontal scaling percentage.

  \objscaley<N>   <N> is the vertical scaling percentage.
  
  Object Data
  --------------------------------------------------------------------
  
  Control Word    Meaning
  ------------    -------
                 
  \objdata        The \objdata subgroup is required to be in the
                  \object group. The syntax for this group is
                  {\*\objdata[{\*\objalias[\bin<N>]
                  <Data>}{\*\objsect[\bin<N>] <Data>}][\bin<N>]
                  <ObjectData>} where <ObjectData> represents the
                  complete data of the object. If the \bin<N> option
                  is used, then <N> represents the number of bytes of
                  binary data. Otherwise, the <ObjectData >is in
                  hexadecimal.

  \objalias       This group contains the Alias Record for the
                  publisher object for the Macintosh Edition Manager.
                  If the \bin control is used, the data is in binary
                  numerical format. Otherwise, it is represented in
                  the RTF stream in hexadecimal.

  \objsect        This group contains the Section Record for the
                  publisher object for the Macintosh Edition Manager.
                  If the \bin control is used, the data is in binary
                  numerical format. Otherwise, it is represented in
                  the RTF stream in hexadecimal.
  
  Object Result
  --------------------------------------------------------------------
  
  Control Word    Meaning
  ------------    -------
                 
  \rsltrtf        Forces the result to be RTF, if possible.

  \rsltpict       Forces the result to be a Windows metafile or
                  MacPict image, if possible.

  \rsltbmp        Forces the result to be a bitmap, if possible.

  \rslttxt        Forces the result to be plain text, if possible.

  \rsltmerge      Uses the formatting of the current result whenever
                  a new result is obtained.

  \result         The result group is optional in the \object group.
                  It contains the last update of the result of the
                  object. The data of the result group should be
                  standard RTF so that RTF readers that donÆt
                  understand objects or the type of object
                  represented can use the current result in the
                  objectÆs place to maintain the object's appearance.
                  The syntax for this group is {\result <ResultData>}
                  where <ResultData> is standard RTF syntax.
 

BOOKMARKS
=========

This group contains two control words: \*\bkmkstart, which indicates
the start of the specified bookmark, and \*\bkmkend, which indicates
the end of the specified bookmark. A bookmark is shown in the
following example:

  ...
  \pard\plain \fs20 Kuhn believes that science, rather than
  discovering in experience certain structured
  relationships, actually creates (or already participates in)
  a presupposed structure to which it fits the data.
  {\bkmkstart paradigm} Kuhn calls such a presupposed
  structure a paradigm.{\bkmkend paradigm}
  ...

If a bookmark covers a partial selection of columns of a table,
\bkmkcolf<N> is used to denote the first column of a table covered by
a bookmark and \bkmkcoll<N> is used to denote the last column. If
\bkmkcolf is not included, the first column of the table is used as
the first column for the bookmark. If \bkmkcoll is not included, the
last column of the table is used for the bookmark. These controls are
used within the \*\bkmkstart group following the \bkmkstart control.
For example, {\*\bkmkstart\bkmkcolf2\bkmkcoll5 Table1} places the
bookmark "Table1" on columns 2 through 5 of a table.


MACINTOSH EDITION MANAGER PUBLISHER OBJECTS
===========================================

These controls define the RTF controls used to define publisher
objects for the Macintosh Edition Manager. The range of publisher
objects are marked as bookmarks; therefore, these controls are all
used within the \bkmkstart group. The RTF syntax for a publisher
object is:

  {\*\bkmkstart\bkmkpub[\pubauto]{\*\objalias[\bin]
  <Data>}{\*\objsect[\bin] <Data>} <BookmarkName>}

  Control Word    Meaning
  ------------    -------
                 
  \bkmkpub        The bookmark marks a Macintosh Edition Manager
                  publisher object.

  \pubauto        The publisher object will automatically update all
                  Macintosh Edition Manager subscribers of this
                  object whenever it is edited.

  \objalias       This group contains the Alias Record for the
                  publisher object for the Macintosh Edition Manager.
                  If the \bin control is used, the data is in binary
                  format. Otherwise, it is in hexadecimal.

  \objsect        This group contains the Section Record for the
                  publisher object for the Macintosh Edition Manager.
                  If the \bin control is used, the data is in binary
                  format. Otherwise, it is in hexadecimal.


DOCUMENT FORMATTING PROPERTIES
==============================

This section specifies the attributes of the document, such as margins
and footnote placement. These attributes must precede the first plain-
text character in the document.

The control words that specify document formatting are listed in the
following table (the measurements are in twips).

The default values are used for omitted control words.

  Control Word    Meaning
  ------------    -------
                 
  \deftab<N>      The default tab width (the default is 720).

  \hyphhotz       The hyphenation hot zone (the amount of space at
                  the right margin in which words are hyphenated--the
                  default for Word is 360 twips).

  \linestart<N>   The beginning line number (the default is 1).

  \fracwidth      Uses fractional character widths when printing
                  (QuickDraw only).

  \*\nextfile     The destination; the argument is the name of the
                  file to print or index next; must be enclosed with
                  braces.

  \*\template     The destination; the argument is the name of a
                  related template file; must be enclosed with
                  braces.

  \makebackup     The backup copy is made automatically when the
                  document is saved.

  \defformat      Tells the RTF reader that the document should be
                  saved in RTF format.

  \psover         Prints PostScript over the text.

  \deflang<N>     Defines the default language used in the document
                  when character formatting is reset with the \plain
                  control word. See "Character Formatting Properties"
                  in this document for a list of possible values for
                  <N>.
  
  Footnotes
  --------------------------------------------------------------------
  
  Control Word    Meaning
  ------------    -------
                 
  \ftnsep         The text argument separates footnotes from the
                  document.

  \ftnsepc        The text argument separates continued footnotes
                  from the document.

  \ftncn          The text argument is a notice for continued
                  footnotes.

  \endnotes       Print the footnotes at the end of the section (the
                  default).

  \enddoc         Print the footnotes at the end of the document.

  \ftntj          Print the footnotes beneath text.

  \ftnbj          Print the footnotes at the bottom of the page.

  \ftnstart<N>    The beginning footnote number (the default is 1).

  \ftnrestart     The footnote numbers restart at each section.
  
  Page Information
  --------------------------------------------------------------------
  
  Control Word    Meaning
  ------------    -------
                 
  \paperw<N>      The paper width (the default is 12,240).

  \paperh<N>      The paper height (the default is 15,840).

  \margl<N>       The left margin (the default is 1,800).

  \margr<N>       The right margin (the default is 1,800).

  \margt<N>       The top margin (the default is 1,440).

  \margb<N>       The bottom margin (the default is 1,440).

  \facingp        Facing pages (activates odd/even headers and
                  gutters).

  \gutter<N>      The gutter width (the default is 0).

  \margmirror     Switches margin definitions on left and right pages.

  \landscape      Landscape format.

  \pgnstart<N>    The beginning page number (the default is 1).

  \widowctrl      Widow control.
  
  Revision Marks
  --------------------------------------------------------------------
  
  Control Word    Meaning
  ------------    -------
                 
  \revisions      Turns on revision marking.

  \revprop<N>     Argument indicates how revised text will be
                  displayed: 0 for no properties shown; 1 for bold; 2
                  for italic; 3 for underline (the default); 4 for
                  double underline.

  \revbar<N>      Vertical lines mark altered text, based on the
                  argument: 0 for no marking; 1 for left margin; 2
                  for right margin; 3 for outside (left on left
                  pages, right on right pages; the default).


SECTION FORMATTING PROPERTIES
=============================

This group specifies section formatting properties, which apply to the
text FOLLOWING the control word, with the exception of the section
break control words (those beginning with \sbk). Section break control
words describe the break PRECEDING the text.

  Section Formatting Control Words
  --------------------------------------------------------------------
  
  Control Word    Meaning
  ------------    -------
                 
  \sectd          Reset to the default section properties.

  \endnhere       Endnotes included in the section.

  \binfsxn<N>     <N> is the printer bin used for the first page of
                  the section. If this control is not defined, the
                  first page uses the same printer bin as defined by
                  the \binsxn<N> control.

  \binsxn<N>      <N> is the printer bin used for the pages of the
                  section.
  
  Section Break
  --------------------------------------------------------------------
  
  Control Word    Meaning
  ------------    -------
                 
  \sbknone        No section break.

  \sbkcol         The section break starts a new column.

  \sbkpage        The section break starts a new page (the default).

  \sbkeven        The section break starts at an even page.

  \sbkodd         The section break starts at an odd page.

  Columns
  --------------------------------------------------------------------

  Control Word    Meaning
  ------------    -------
                 
  \cols<N>        The number of columns for "snaking" (the default is
                  1).

  \colsx<N>       The space between columns in twips (the default is
                  720).

  \linebetcol     Insert a line between columns.
  
  Line Numbering
  --------------------------------------------------------------------
  
  Control Word    Meaning
  ------------    -------
                 
  \linemod<N>     The line number modulus amount to increase each line
                  number (the default is 1).

  \linex<N>       The default value for <N> is 360 if \linex is
                  omitted. A value of 0 for <N> means the automatic
                  distance for the application reading the RTF file.

  \linestarts<N>  The beginning line number (the default is 1).

  \linerestart    The line numbers restart at the \linestarts value.

  \lineppage      The line numbers restart on each page.

  \linecont       The line numbers continue from the preceding
                  section.
  
  Page Information
  --------------------------------------------------------------------
  
  Control Word    Meaning
  ------------    -------
                 
  \pgwsxn<N>      <N> is the page width in twips. A \sectd control
                  resets the value to that specified by \paperw<N> in
                  the document properties.

  \pghsxn<N>      <N> is the page height in twips. A \sectd control
                  resets the value to that specified by \paperh<N> in
                  the document properties.

  \marglsxn<N>    <N> is the left margin of the page in twips. A
                  \sectd control resets the value to that specified by
                  \margl<N> in the document properties.

  \margrsxn<N>    <N> is the right margin of the page in twips. A
                  \sectd control resets the value to that specified by
                  \margr<N> in the document properties.

  \margtsxn<N>    <N> is the right margin of the page in twips. A
                  \sectd control resets the value to that specified by
                  \margr<N> in the document properties.

  \margbsxn<N>    <N> is the top margin of the page in twips. A \sectd
                  control resets the value to that specified by
                  \margt<N> in the document properties.

  \guttersxn<N>   <N> is the width of the gutter margin for the
                  section in twips. A \sectd control resets the value
                  to that specified by \gutter<N> in the document
                  properties. If facing pages is turned off, the
                  gutter will be added to the left margin of all
                  pages. If facing pages is turned on, the gutter will
                  be added to the left side of odd-numbered pages and
                  the right side of even-numbered pages.

  \lndscpsxn      Page orientation is in landscape format. To mix
                  portrait and landscape sections within a document,
                  the \landscape control should not be used so that
                  the default for a section is portrait, which may be
                  overridden by the \lndscpsxn control.

  \titlepg        The first page has a special format.

  \headery<N>     The header is <N> twips from the top of the page
                  (the default is 720).

  \footery<N>     The footer is <N> twips from the bottom of the page
                  (the default is 720).
  
  Page Numbers
  --------------------------------------------------------------------
  
  Control Word    Meaning
  ------------    -------
                 
  \pgnstarts<N>   The beginning page number (the default is 1).

  \pgncont        The continuous page numbering (the default).

  \pgnrestart     The page numbers restart at the \pgnstarts value.

  \pgnx<N>        The page number is <N> twips from the right margin
                  (the default is 720).

  \pgny<N>        The page number is <N> twips from the top margin
                  (the default is 720).

  \pgndec         The page-number format is decimal.

  \pgnucrm        The page-number format is uppercase Roman numerals.

  \pgnlcrm        The page-number format is lowercase Roman numerals.

  \pgnucltr       The page-number format is uppercase letters.

  \pgnlcltr       The page-number format is lowercase letters.
  
  Vertical Alignment
  --------------------------------------------------------------------
  
  Control Word    Meaning
  ------------    -------
                 
  \vertalt        The text is top aligned on the page (the default).
  \vertal         The text is bottom aligned on the page.
  \vertalc        The text is centered vertically on the page.
  \vertalj        The text is justified vertically on the page.


PARAGRAPH FORMATTING PROPERTIES
===============================

This group specifies paragraph formatting properties. To ensure
compatibility with previous versions of RTF, if border properties are
specified, the border segment control word (\brdrt,\brdrb,\brdrl,
\brdrr, or \box) must precede the control word(s) that specify the
pattern for the border.

Paragraph Formatting Control Words
  --------------------------------------------------------------------

  Control Word    Meaning
  ------------    -------
                 
  \pard           Resets to the default paragraph properties.

  \s<N>           Designates the reference number of the style in the
                  RTF document; if a style is referenced within the
                  document, style properties must be included along
                  with the style reference in the document text.

  \intbl          The paragraph is part of a table.

  \keep           Keep the paragraph intact.

  \keepn          Keep the paragraph with the next paragraph.

  \noline         No line numbering.

  \pagebb         Break the page before the paragraph.

  \sbys           Side-by-side paragraphs.
  
  Alignment
  --------------------------------------------------------------------
  
  Control Word    Meaning
  ------------    -------
                 
  \ql             Left aligned (the default)
  \qr             Right aligned
  \qj             Justified
  \qc             Centered
  
  Indentation
  --------------------------------------------------------------------
  
  Control Word    Meaning
  ------------    -------
                 
  \fi<N>          First-line indent (the default is 0).
  \li<N>          Left indent (the default is 0).
  \ri<N>          Right indent (the default is 0).
  
  Spacing
  --------------------------------------------------------------------
  
  Control Word    Meaning
  ------------    -------
                 
  \sb<N>          Space before (the default is 0).

  \sa<N>          Space after (the default is 0).

  \sl<N>          Space between lines. If this control word is missing
                  or if \s1000 is used, the line spacing is
                  automatically determined by the tallest character in
                  the line; if <N> is a positive value, this size is
                  used only if it is taller than the tallest character
                  (otherwise, the tallest character determines the
                  size); if <N> is a negative value, the absolute
                  value of <N> determines the size, even if it is
                  shorter than the tallest character.
  
  Tabs
  --------------------------------------------------------------------
  
  Control Word    Meaning
  ------------    -------
                 
  \tx<N>          The tab position in twips from the left margin.
  \tqr            A flush-right tab.
  \tqc            A centered tab.
  \tqdec          A decimal tab.
  \tb<N>          A bar tab position in twips from the left margin.
  \tldot          Leader dots.
  \tlhyph         Leader hyphens.
  \tlul           A leader underline.
  \tlth           A leader thick line.
  \tleq           A leader equal sign.

  Paragraph Borders
  --------------------------------------------------------------------

  Control Word    Meaning
  ------------    -------
                 
  \brdrt          Border top.

  \brdrb          Border bottom.

  \brdrl          Border left.

  \brdrr          Border right.

  \brdrbtw        Consecutive paragraphs with identical border
                  formatting are considered part of a single group
                  with the border information applying to the entire
                  group. To have borders around individual paragraphs
                  within the group, the \brdrbtw control must be
                  specified for that paragraph.

  \brdrbar        Box border outside (right side of odd-numbered
                  pages, left side of even-numbered pages).

  \box            Border around the paragraph.

  \brdrs          Single-thickness border.

  \brdrth         Thick border.

  \brdrsh         Shadowed border.

  \brdrdb         Double border.

  \brdrdot        Dotted border.

  \brdrhair       Hairline border.

  \brdrw<N>       <N> is the width in twips of the paragraph border
                  line. This control should follow the paragraph
                  border controls \brdrt, \brdrr, \brdrb, and \brdrl.

  \brdrcf<N>      <N> is the color of the paragraph border from the
                  color table in the RTF header. This control should
                  follow the paragraph border controls \brdrt, \brdrr,
                  \brdrb, and \brdrl.

  \brsp<N>        Space in twips between borders and the paragraph.
  
  Paragraph Shading and Background Pattern
  --------------------------------------------------------------------
  
  Control Word    Meaning
  ------------    -------
                 
  \shading<N>     <N> is the shading of the paragraph in hundredths of
                  a percent.

  \bghoriz        Specifies a horizontal background pattern for the
                  paragraph.

  \bgvert         Specifies a vertical background pattern for the
                  paragraph.

  \bgfdiag        Specifies a forward diagonal background pattern for
                  the paragraph (\\\\).

  \bgbdiag        Specifies a backward diagonal background pattern for
                  the paragraph (////).

  \bgcross        Specifies a cross-hatched background pattern for the
                  paragraph.

  \bgdcross       Specifies a diagonal cross-hatched background
                  pattern for the paragraph.

  \bgdkhoriz      Specifies a dark horizontal background pattern for
                  the paragraph.

  \bgdkvert       Specifies a dark vertical background pattern for the
                  paragraph.

  \bgdkfdiag      Specifies a dark forward diagonal background pattern
                  for the paragraph (\\\\).

  \bgdkbdiag      Specifies a dark backward diagonal background
                  pattern for the paragraph (////).

  \bgdkcross      Specifies a dark cross-hatched background pattern
                  for the paragraph.

  \bgdkdcross     Specifies a dark diagonal cross-hatched background
                  pattern for the paragraph.

  \cfpat<N>       <N> is the line color of the background pattern.

  \cbpat<N>       <N> is the background color of the background
                  pattern.


POSITIONED OBJECTS AND FRAMES
=============================

The following paragraph-formatting control words specify the location
of a paragraph on the page. Consecutive paragraphs with the same frame
formatting are considered to be part of the same frame. For two framed
paragraphs to appear at the same position on a page, they must be
separated by a paragraph with different or no frame information.

  Control Word    Meaning
  ------------    -------
                 
  \absw<N>        <N> is the width of the frame in twips.

  \absh<N>        <N> is the height of the frame in twips. A positive
                  number indicates the minimum height of the frame,
                  and a negative number indicates the exact height of
                  the frame. A value of 0 indicates that the height of
                  the frame adjusts to the contents of the frame. Zero
                  is the default for frames where no height is given.
  
  Horizontal Position
  --------------------------------------------------------------------
  
  Control Word    Meaning
  ------------    -------
                 
  \phmrg          Use the margin as the horizontal reference frame.

  \phpg           Use the page as the horizontal reference frame.

  \phcol          Use the column as the horizontal reference frame.

                  This is the default if no horizontal reference frame
                  is given.

  \posx<N>        Positions the frame <N> twips from the left edge of
                  the reference frame.

  \posxc          Centers the frame horizontally within the reference
                  frame.

  \posxi          Positions the paragraph horizontally inside the
                  reference frame.

  \posxo          Positions the paragraph horizontally outside the
                  reference frame.

  \posxr          Positions the paragraph to the right within the
                  reference frame.

  \posxl          Positions the paragraph to the left within the
                  reference frame. This is the default if no
                  horizontal positioning information is given.
  
  Vertical Position
  --------------------------------------------------------------------
  
  Control Word    Meaning
  ------------    -------
                 
  \pvmrg          Use the margin as the vertical reference frame.

  \pvpg           Use the page as the vertical reference frame.

  \pvpara         Positions the reference frame vertically relative to
                  the top of the top-left corner of the next unframed
                  paragraph in the RTF stream. This is the default if
                  no vertical frame positioning information is given.

  \posy<N>        Positions the paragraph <N> twips from the top edge
                  of the reference frame.

  \posyil         Positions the paragraph vertically to be in line.

  \posyt          Positions the paragraph at the top of the reference
                  frame.

  \posyc          Centers the paragraph vertically within the
                  reference frame.
  \posyb          Positions the paragraph at the bottom of the
                  reference frame.
  
  Text Wrapping
  --------------------------------------------------------------------
  
  Control Word    Meaning
  ------------    -------
                 
  \dxfrtext<N>    Distance in twips of a positioned paragraph from the
                  main text flow in all directions. In Word for
                  Windows 2.0, this control affects only the
                  horizontal distance from the text on each side of
                  the frame.

  \dyfrtext<N>    <N> is the vertical distance in twips from the text
                  above and below the frame.

The following is an example of absolute-positioned text in a document:

                                                             A
                                                             |
...                                                    -------------
\par \pard \pvpg\phpg\posxc\posyt\absw5040\dxfrtest173 abs pos para1
\par \pard \phmrg\posxo\posyc\dxfrtext1152 abs pos para2
                                           -------------
                                                 |
                                                 A

   A: Text to be positioned


TABLES
======

There is no RTF table group. A table is a collection of paragraphs,
and a table row is a continuous sequence of paragraphs partitioned
into cells. The \intbl paragraph formatting control word identifies
the paragraph as part of a table. This control is inherited between
paragraphs that do not have paragraph properties reset with a \pard.
The last paragraph of a cell is terminated by a cell mark (the \cell
control word), and the row is terminated by a row mark (the \row
control word). The following control words further define the table:

  Control Word    Meaning
  ------------    -------
                 
  \trowd          Sets the table row defaults.

  \trgaph<N>      Half the space between the cells of a table row in
                  twips.

  \cellx<N>       Moves the right boundary of a table cell, including
                  its half of the space between cells.

  \clmgf          The first cell in a range of table cells to be
                  merged.

  \clmrg          The contents of the table cell are merged with those
                  of the preceding cell.
  
  Cell Borders and Shading
  --------------------------------------------------------------------
  
  Control Word    Meaning
  ------------    -------
                 
  \clbrdrb        The bottom table cell border.
  \clbrdrt        The top table cell border.
  \clbrdrl        The left table cell border.
  \clbrdrr        The right table cell border.
  
  Row Formatting
  --------------------------------------------------------------------
  
  Control Word    Meaning
  ------------    -------
                 
  \trql           Left-justifies a table row with respect to its
                  containing column.

  \trqr           Right-justifies a table row with respect to its
                  containing column.

  \trqc           Centers a table row with respect to its containing
                  column.

  \trleft<N>      The position of the leftmost edge of the table with
                  respect to the left edge of its column.

  \trrh<N>        The height of a table row in twips; when 0, the
                  height is sufficient for all the text in the line;
                  when positive, the height is guaranteed to be at
                  least the specified height; when negative, the
                  absolute value of the height is used, regardless of
                  the height of the text in the line.
  
  Cell Shading and Background Pattern
  --------------------------------------------------------------------
  
  Control Word    Meaning
  ------------    -------
                 
  \clshdng<N>     <N> is the shading of a table cell in hundredths of
                  a percent. This control should be included in RTF
                  along with cell border information.

  \clbghoriz      Specifies a horizontal background pattern for the
                  cell.

  \clbgvert       Specifies a vertical background pattern for the
                  cell.

  \clbgfdiag      Specifies a forward diagonal background pattern for
                  the cell (\\\\).

  \clbgbdiag      Specifies a backward diagonal background pattern for
                  the cell (////).

  \clbgcross      Specifies a cross-hatched background pattern for the
                  cell.

  \clbgdcross     Specifies a diagonal cross-hatched background
                  pattern for the cell.

  \clbgdkhor      Specifies a dark horizontal background pattern for
                  the cell.

  \clbgdkvert     Specifies a dark vertical background pattern for the
                  cell.

  \clbgdkfdiag    Specifies a dark forward diagonal background pattern
                  for the cell (\\\\).

  \clbgdkbdiag    Specifies a dark backward diagonal background
                  pattern for the cell (////).
  \clbgdkcross    Specifies a dark cross-hatched background pattern
                  for the cell.

  \clbgdkdcross   Specifies a dark diagonal cross-hatched background
                  pattern for the cell.

  \clcfpat<N>     <N> is the line color of the background pattern.

  \clcbpat<N>     <N> is the background color of the background
                  pattern.

The following example shows some table text:
  
  ...
  \par \trowd \trqc\trgaph108\trrh280\trleft36
  \clbrdrt\brdrth \clbrdrl\brdrth \clbrdrb\brdrdb
  \clbrdrr\brdrdb \cellx3636\clbrdrt\brdrth
  ...


CHARACTER FORMATTING PROPERTIES
===============================

The last group controls character formatting properties. A control
word preceding plain text turns on the specified attribute. Some
control words (indicated in the following table by an asterisk
following the description) can be turned off by the control word
followed by 0 (zero). For example, \b turns on bold, whereas \b0 turns
off bold.

The character formatting control words are listed in the following
table:

  Control Word    Meaning
  ------------    -------
                 
  \plain          Resets applicationÆs default character formatting
                  properties.

  \b              Turns on bold.*

  \caps           Turns on all uppercase.*

  \deleted        Marks the text as deletion revision marked.*

  \dn<N>          Sets the subscript position in half-points (the
                  default is 6).

  \expnd<N>       Sets the expansion or compression of the space
                  between characters in quarter-points; a negative
                  value compresses the space (the default is 0).

  \f<N>           Identifies the font number.

  \fs<N>          Sets the font size in half-points (the default is
                  24).

  \i              Turns on italic.*

  \outl           Turns on outline.*

  \revised        Indicates that text has been added since revision
                  marking was turned on.

  \scaps          Turns on small capitals.*

  \shad           Turns on shadow.*

  \strike         Turns on strikethrough.

  \ul             Turns on continuous underline. \ul0 turns off all
                  underlining.

  \uld            Turns on dotted underline.

  \uldb           Turns on double underline.

  \ulnone         Turns off all underlining.

  \ulw            Turns on word underline.

  \up<N>          Sets the superscript position in half-points (the
                  default is 6).

  \v              Turns on hidden text.*

  \lang<N>        Applies a language to a character. <N> is a number
                  corresponding to a language. The following table
                  defines the standard languages used by Microsoft.
                  This table was generated by the Unicode group for
                  use with TrueType(R) and Unicode. A \plain control
                  resets the language property to the language defined
                  by \deflang<N> in the document properties.

  Language Name             Language ID
  -------------             -----------
                           
  No Language               0x0400
  Albanian                  0x041c
  Arabic                    0x0401
  Bahasa                    0x0421
  Belgian Dutch             0x0813
  Belgian French            0x080c
  Brazilian Portuguese      0x0416
  Bulgarian                 0x0402
  Catalan                   0x0403
  Croato-Serbian (Latin)    0x041a
  Czech                     0x0405
  Danish                    0x0406
  Dutch                     0x0413
  English (Aus.)            0x0c09
  English (U.K.)            0x0809
  English (U.S.)            0x0409
  Finnish                   0x040b
  French                    0x040c
  French (Canadian)         0x0c0c
  German                    0x0407
  Greek                     0x0408
  Hebrew                    0x040d
  Hungarian                 0x040e
  Icelandic                 0x040f
  Italian                   0x0410
  Japanese                  0x0411
  Korean                    0x0412
  Norwegian (Bokmal)        0x0414
  Norwegian (Nynorsk)       0x0814
  Polish                    0x0415
  Portuguese                0x0816
  Rhaeto-Romanic            0x0417
  Romanian                  0x0418
  Russian                   0x0419
  Serbo-Croatian (Cyrillic) 0x081a
  Simplified Chinese        0x0804
  Slovak                    0x041b
  Spanish (Castilian)       0x040a
  Spanish (Mexican)         0x080a
  Swedish                   0x041d
  Swiss French              0x100c
  Swiss German              0x0807
  Swiss Italian             0x0810
  Thai                      0x041e
  Traditional Chinese       0x0404
  Turkish                   0x041f
  Urdu                      0x0420

To read negative \expnd values from Word for the Macintosh, an RTF
reader should use only the low-order 6 bits of the value read. Word
for the Macintosh does not emit negative values for \expnd. Instead,
it treats values from 57 through 63 as -7 through -1, respectively
(the low-order 6 bits of 57 through 63 are the same as -7 through 1).


SPECIAL CHARACTERS
==================

The RTF standard includes control words for special characters. If a
special character control word is not recognized by the RTF reader,
the control word is ignored, and the text following it is considered
plain text. The RTF specification is flexible enough to allow new
special characters to be added for interchange with other software.

The special RTF characters are listed in the following table:

  Control Word    Meaning
  ------------    -------
                 
  \chdate         The current date (as in headers).

  \chdpl          The current date in long format; for example,
                  Tuesday, June 28, 1992.

  \chdpa          The current date in abbreviated format; for example,
                  Tue, Jun 28, 1992.

  \chtime         The current time (as in headers).

  \chpgn          The current page number (as in headers).

  \chftn          An automatic footnote reference (the footnotes
                  follow in a group).

  \chatn          An annotation reference (the annotation text follows
                  in a group).

  \chftnsep       An anchoring character for the footnote separator.

  \chftnsepc      An anchoring character for the footnote
                  continuation.

  \cell           The end of a table cell.

  \row            The end of a table row.

  \par            The end of a paragraph.

  \sect           The end of a section and a paragraph.

  \page           A required page break.

  \column         A required column break.

  \line           A required line break (no paragraph break).

  \tab            A tab character; the same as ASCII 9.

  \emdash         An em (--) dash. This is character 151 in the ANSI
                  character set and character 208 in the Macintosh
                  character set.

  \endash         An en (-) dash. This is character 150 in the ANSI
                  character set and character 209 in the Macintosh
                  character set.

  \bullet         A bullet character. This is character 149 in the
                  ANSI character set and character 165 in the
                  Macintosh character set.

  \lquote         An opening single quotation mark. This is character
                  145 in the ANSI character set and character 212 in
                  the Macintosh character set.

  \rquote         A closing single quotation mark. This is character
                  146 in the ANSI character set and character 213 in
                  the Macintosh character set.

  \ldblquote      An opening double quotation mark. This is character
                  147 in the ANSI character set and character 210 in
                  the Macintosh character set.

  \rdblquote      A closing double quotation mark. This is character
                  148 in the ANSI character set and character 211 in
                  the Macintosh character set.

  \|              A formula character.

  \~              A nonbreaking space.

  \-              An optional hyphen.

  \_              A nonbreaking hyphen.

  \:              Specifies a subentry in an index entry.

  \*              Marks a destination whose text should be ignored if
                  not understood by the RTF reader.

  \'hh            A hexadecimal value, based on the specified
                  character set (may be used to identify 8-bit
                  values).

  \alt            The ALT modifier key. Used to describe shortcut-key
                  codes for styles.

  \shift          The SHIFT modifier key. Used to describe shortcut-
                  key codes for styles.

  \ctrl           The CTRL modifier key. Used to describe shortcut-key
                  codes for styles.

                  Specifies a function key where <N> is the function
                  key number. Used to describe shortcut-key codes for
                  styles.

    NOTE: An ASCII 9 is accepted as a tab character. A carriage return
    (character value 13) or linefeed character (character value 10)
    will be treated as a \par control if the character is preceded by
    a backslash. You must include the backslash, or RTF ignores the
    control word. (You may also want to insert a carriage-
    return/linefeed pair without backslashes at least every 255
    characters for better text transmission over communication lines.)